#include<iostream>
using namespace std;
#include<unistd.h>
#include<signal.h>
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/msg.h>
#include<errno.h>


#define KEYNUM 0x77
#define PATH "."

key_t getkey(){
    key_t k = ftok(PATH,KEYNUM);
    if(k < 0){
        cout<<"errno:"<<errno<<endl;
        exit(1);
    }
    return k;
}


int creatmsg(key_t k){
    int ret = msgget(k,IPC_CREAT | 0666);
    if(ret < 0){
        perror("msgget");
        exit(2);
    }
    return ret;
}

int revecemsg(key_t k){
    int ret = msgget(k, IPC_EXCL);
    if(ret < 0){
        perror("msgget");
        exit(2);
    }
    return ret;
}